/**
 * 
 */
package escola.dao.impl.usuario;

import org.apache.commons.lang3.StringUtils;
import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;

import escola.dao.impl.AbstractDAOImpl;
import escola.dao.usuario.UsuarioDAO;
import escola.modelo.usuario.Usuario;

/**
 * @author Jonathan
 *
 */
@Repository
public class UsuarioDAOImpl extends AbstractDAOImpl<Usuario> implements	UsuarioDAO {

	@Override
	protected Class<Usuario> getEntityClass() {
		return Usuario.class;
	}
	
	@Override
	public Usuario getByUsername(String username) {
		Usuario user = null;
		if (!StringUtils.isBlank(username)) {
			Criteria criteria = getSession().createCriteria(getEntityClass());
			criteria.add(Restrictions.eq("login", username));
			criteria.setMaxResults(1);
			user = (Usuario) criteria.uniqueResult();
//			Query query = getSession().getNamedQuery("selectByLogin");
//			query.setString("username", username);
//			user = (Usuario) query.uniqueResult();
		}
		return user;
	}

}
